The World Wide Web has expanded to provide web services faster to consumers. Web services may be provided by a web application which uses one or more services to handle a transaction. The applications may be distributed over several machines, making the topology of the machines that provides the service more difficult to track and monitor.
Monitoring a web application helps to provide insight regarding bottle necks in communication, communication failures and other information regarding performance of the services that provide the web application. The services may be grouped into business transactions, which may be performed by one or more threads executing on one or more application servers. Hence, monitoring a distributed business transaction is important for understanding how applications work together and in troubleshooting performance issues.
Occasionally, a chain of correlation between applications or threads will be lost when trying to string together portions of a business transaction. Ideally, each part of an application is monitored by application monitoring software. Though many application program monitoring systems monitor application callables and application runnables, they do not monitor other programming types. This makes it difficult to tie together the loose ends of an application that are not correlated to any other part of the application.
What is needed is an improved method for monitoring an application that helps correlate components that are not correlated through normal means.